package com.itheima.mall.exception;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ErrorResult {



    private String code = "999999";
    private String message;

    public static ErrorResult error() {
        return ErrorResult.builder().code("400").message("系统异常稍后再试").build();
    }

    public static ErrorResult Unauthorized() {
        return ErrorResult.builder().code("401").message("Unauthorized").build();
    }

    public static ErrorResult loginError() {
        return ErrorResult.builder().code("000002").message("验证码失效").build();
    }


    public static ErrorResult mobileError() {
        return ErrorResult.builder().code("000004").message("手机号码已注册").build();
    }


    public static ErrorResult loginEmptyError() {
        return ErrorResult.builder().code("000010").message("用户名或密码错误").build();
    }

    //判断登录密码是否正确
    public static ErrorResult loginPwdError() {
        return ErrorResult.builder().code("000011").message("密码不一致").build();
    }

    //判断注册的用户名是否存在
    public static ErrorResult registerError() {
        return ErrorResult.builder().code("000012").message("用户名已存在").build();
    }

    //判断前端传来的信息不为空
    public static ErrorResult registerEmptyError() {
        return ErrorResult.builder().code("000013").message("注册信息为空").build();
    }

    //判断前端传来的账号是否已被冻结
    public static ErrorResult loginAccountError() {
        return ErrorResult.builder().code("000014").message("账号已被冻结").build();
    }

    //判断前端传来的账号是否已被冻结
    public static ErrorResult menuWithRoleError() {
        return ErrorResult.builder().code("000015").message("菜单已被角色绑定，不能删除").build();
    }
    //判断前端传来的账号是否已被冻结
    public static ErrorResult menuError() {
        return ErrorResult.builder().code("000016").message("存在子菜单，不能删除").build();
    }

    //判断前端传来的账号是否已被冻结
    public static ErrorResult roleWithAdminError() {
        return ErrorResult.builder().code("000017").message("角色被用户绑定，无法删除").build();
    }

}